﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TupleGeo.GIS.SpatialSchema {

  /// <summary>
  /// 
  /// </summary>
  public interface IGeometry {


    //Geometry
    //+ dimension() : Integer
    //+ coordinateDimension() : Integer
    //+ spatialDimension() : Integer
    //+ geometryType() : String
    //+ SRID() : Integer+ envelope() : Geometry
    //+ asText() : String+ asBinary() : Binary
    //+ isEmpty() : Boolean+ isSimple() : Boolean
    //+ is3D() : Boolean+ isMeasured()() : Boolean
    //+ boundary() : Geometryquery
    //+ equals(another :Geometry) : Boolean
    //+ disjoint(another :Geometry) : Boolean
    //+ intersects(another :Geometry) : Boolean
    //+ touches(another :Geometry) : Boolean
    //+ crosses(another :Geometry) : Boolean
    //+ within(another :Geometry) : Boolean
    //+ contains(another :Geometry) : Boolean
    //+ overlaps(another :Geometry) : Boolean
    //+ relate(another :Geometry, matrix :String) : Boolean
    //+ locateAlong(mValue :Double) : Geometry
    //+ locateBetween(mStart :Double, mEnd :Double) : Geometryanalysis
    //+ distance(another :Geometry) : Distance
    //+ buffer(distance :Distance) : Geometry
    //+ convexHull() : Geometry
    //+ intersection(another :Geometry) : Geometry
    //+ union(another :Geometry) : Geometry
    //+ difference(another :Geometry) : Geometry
    //+ symDifference(another :Geometry) : Geometry

    int Dimension {
      get;
    }

    int CoordinateDimension {
      get;
    }






  }

}

